#pragma once

#include "macro.h"
#include "MeanShift.h"

#include "CustomDrawObjects.h"

class meanshiftDemo
{
public:
    meanshiftDemo();

	void demo();

	int gridID;
	std::vector<Vec3d> gridPoints;
	void demo1();
	void stepForward1();

	void createDataPoints();
	std::vector<Vec3d> createModeData(int num, Vec3d center);
	std::vector<Vec3d> getGridPoints();
	void onePassFromPoint(Vec3d p);

	// visualize
	std::vector<Vec3d> data, models;
	std::vector<PointSoup> debug_points;
	void draw();

	MeanShift<3> *meanshift;
};


